package Hot100.Stack;

import java.util.Stack;

public class isValid {
    public static void main(String[] args) {
        String s = "()";
    }
    public boolean isValid(String s) {
        if(s.length() % 2 != 0)
            return false;
        Stack<Character> stack = new Stack<>();
        for (int i = 0; i < s.length(); i++) {
            if(s.charAt(i) == '(' || s.charAt(i) == '[' || s.charAt(i) == '{'){
                stack.push(s.charAt(i));
            }else if(s.charAt(i) == ')'){
                if(stack.size() == 0){
                    return false;
                }
                if(stack.pop() != '('){
                    return false;
                }
            }else if(s.charAt(i) == ']'){
                if(stack.size() == 0){
                    return false;
                }
                if(stack.pop() != '['){
                    return false;
                }
            }else if(s.charAt(i) == '}'){
                if(stack.size() == 0){
                    return false;
                }
                if(stack.pop() != '{'){
                    return false;
                }
            }
        }
        if(stack.size() == 0){
            return true;
        }else {
            return false;
        }

    }
}
